package com.zmzncs.lmtc.module.park.dao;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zmzncs.lmtc.module.park.pojo.park_info.ParkInfo;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.zmzncs.lmtc.module.park.pojo.park_info.ParkInfoDTO;
import com.zmzncs.lmtc.module.park.pojo.park_info.ParkInfoListForm;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * <p>
 *  Mapper 接口
 * </p>
 *
 * @author 任建波
 * @since 2020-09-29
 */
@Repository
public interface ParkInfoDao extends BaseMapper<ParkInfo> {

    /**获取停车场列表*/
    List<ParkInfoDTO> getParks();

    /**获取停车场分页列表*/
    IPage<ParkInfoDTO> getParkList(Page page, @Param("form") ParkInfoListForm form);

    /**根据泊链停车场Id查询停车场信息 */
    ParkInfoDTO getParkByBolianParkId(@Param("bolianParkId") String bolianParkId);

    /**根据泊链comId查询停车场信息 */
    ParkInfoDTO getParkByBolianComId(@Param("bolianComId") String bolianComId);

    /**获取咪网停车场分页列表*/
    IPage<ParkInfoDTO> getMWParkList(Page page, @Param("parkName") String parkName);

    /**查询未设置车场主的停车场信息*/
    List<ParkInfoDTO> noManagerPark();

    /**查询未设置预约规则的停车场*/
    List<ParkInfoDTO> getNoReservePark();

    /**根据经纬度查询附近停车场*/
    List<ParkInfoDTO> getNearbyParKByCoordinate(@Param("longitude") String longitude,@Param("latitude") String latitude);

}
